My suggestion for continuing the route after going "direct-to" would be one of the following:
1) Continue from the next waypoint at the time the direct-to was instigated (i.e. insert direct-to on current leg)
2) Continue from the nearest waypoint to the direct-to destination (continue to <next waypoint>

3) Continue from the route waypoint which gives the shortest total distance between the direct-to destination and the final destination (continue route to destination)
If I had to choose just one of these options, my preference would be for option 3, however a choice of "insert <direct-to> on current leg", "continue to <next waypoint>" or "continue route to destination" when making the direct-to would be nirvana.